// commonjs规范  == 只能在nodejs中使用，不可以浏览器中使用 cmd/amd/esm
// 导出 exports module.exports
// 区别：
// 共同点：导出模块
// 差别：module.exports它可以导出对象，而exports不可以
// exports = module.exports  引用 原型指向
// 导入
// require(路径)

// ============ 内置
// 导入一个内置的模块，os模块,使用一个变量接受
/* const os = require('os')
console.log(os.hostname()); */

// ============ 第3方模块 通过npm安装
// 如果安装第3方法模块，第一步先查看一下当前项目中，有没有package.json文件，如果没有则初始化一下
// npm init -y
// npm i -S lodash
/* const _ = require('lodash')
// 分割数组
console.log(_.chunk(['a', 'b', 'c', 'd'], 2)); */


// ============ 自定义模块化
// commonjs中，把一个文件当作一个模块
/* const fn = require('./userModule')
console.log(fn());
 */

/* const fn = require('user')
console.log(fn());
 */

// const user = require('user')
// const { username, fn } = require('user')
// const { username:u, fn } = require('user')
// console.log(u);

/* const User = require('user')
console.log(new User().getName()); */

const user = require('user')
console.log(user.getName());
console.log(user.__proto__.constructor);
